var _ = require("lodash");

// _.findIndex(array, [predicate=_.identity], [fromIndex=0])
// 该方法类似_.find，区别是该方法返回第一个通过 predicate 判断为真值的元素的索引值（index），
// 而不是元素本身,大多数情况下，这个方法可以和原生的findIndex方法互换，但是lodash库中的方法兼容性更好
// array (Array): 要搜索的数组。
// [predicate=_.identity] (Array|Function|Object|string): 这个函数会在每一次迭代调用。
// [fromIndex=0] (number): The index to search from.

var users = [
  { user: "barney", active: false },
  { user: "fred", active: false },
  { user: "pebbles", active: true },
];

let a = _.findIndex(users, function (o) {
  return o.user == "barney";
});
console.log(a);

let b = _.findIndex(users, { user: "fred", active: false });
console.log(b);

let c = _.findIndex(users, ["active", false]);
console.log(c);

// _.findLastIndex(array, [predicate=_.identity], [fromIndex=array.length-1])
// 和原生的方法一致，都是从右到左迭代集合中的数据，获取的是符合条件的元素最后一次出现的位置
